.. _软件简介: ************************************ 软件简介 ************************************ DS-PAW是Device Studio平台下一款第一性原理密度泛函计算程序,使用平面波作为基函数组,使用投影缀加平面波方法构造赝势。本程序能广泛应用于材料科学领域,开展例如金属、半导体、绝缘体、表面、磁性、非磁性、锂电等材料的计算研究; 能够精确预测材料的电子分布;能够进行原子几何结构优化等多种功能的计算。本程序性能稳定,在intel芯片及国产海光芯片下经过百万案例的内部测试,包括各项功能及并行效率。 .. _1.1 安装说明: install安装说明 ========================================================================== ------------------------------------------------------------------------------------------------------------------------------------------------------------------ .. note:: 1. DS-PAW 使用cmake编译,要求cmake版本≥2.8 2. 建议使用Intel编译器编译 .. _icc: ============================================================================== Intel 编译器编译MKL版本(推荐使用) ============================================================================== .. code-block:: bash :linenos: cd DS-PAW mkdir build cd build cmake .. -DCMAKE_CXX_COMPILER=icc -DCMAKE_INSTALL_PREFIX=install_path/ -DDSPAW_USE_MKL=ON make -jN #N为编译使用的核数 make install .. note:: 1. Intel 编译器版本要≥2017 2. **CMAKE_CXX_COMPILER** 用于指定c++编译器位置,**CMAKE_INSTALL_PREFIX** 用于指定DS-PAW的安装目录 3. 若未成功查找到MPI编译器,可设置 **-DMPI_CXX_COMPILER=mpiicc** 来指定Intel MPI编译器位置 .. _gcc: ============================================================================== Gcc 编译器编译openblas版本 ============================================================================== .. code-block:: bash :linenos: cd DS-PAW mkdir build cd build cmake .. -DCMAKE_CXX_COMPILER=icc -DCMAKE_INSTALL_PREFIX=install_path/ -DOPENBLAS_PATH=openblas_path/ make -jN #N为编译使用的核数 make install .. note:: 1. gcc 编译器版本要≥4.8 2. 系统中需存在MPI编译器,如openmpi、mpich等 3. **CMAKE_CXX_COMPILER** 用于指定c++编译器位置,**CMAKE_INSTALL_PREFIX** 用于指定DS-PAW的安装目录,**OPENBLAS_PATH** 用于指定openblas目录、访问 `openblas文档 `_ 4. 若未成功查找到MPI编译器,可设置 **-DMPI_CXX_COMPILER=mpicxx** 来指定MPI编译器位置 .. _1.2 命令说明: command命令说明 ========================================================================== ------------------------------------------------------------------------------------------------------------------------------------------------------------------ .. _ 命令列表: ============================================================================== list命令列表 ============================================================================== -------------------------------------------------------------------------------------------------------------------------------------------- - lic_ - info_ - mpi_ - mpiargs_ - pob_ -------------------------------------------------------------------------------------------------------------------------------------------- .. _ 命令详细描述: ============================================================================== detail命令详细描述 ============================================================================== -------------------------------------------------------------------------------------------------------------------------------------------- .. _lic: **命令名称:** :guilabel:`-lic` **使用方法:** :guilabel:`-lic` 用于生成序列号,在DS-PAW安装目录下执行命令::guilabel:`DS-PAW -lic` 即可得到LicenseNumber.txt文件,该文件用于license的申请 --------------------------------------------------------------------------------------------------------------------------------------------- .. _info: **命令名称:** :guilabel:`-info` **使用方法:** :guilabel:`-info` 用于查看软件版权信息,执行命令::guilabel:`DS-PAW -info` --------------------------------------------------------------------------------------------------------------------------------------------- .. _mpi: **命令名称:** :guilabel:`-mpi xxx` **使用方法:** :guilabel:`-mpi` 用于指定mpi执行程序的位置,如: :guilabel:`-mpi mpirun` --------------------------------------------------------------------------------------------------------------------------------------------- .. _mpiargs: **命令名称:** :guilabel:`-mpiargs xxx` **使用方法:** :guilabel:`-mpiargs` 用于指定mpi运行参数,如::guilabel:`-mpiargs "-np 16"` --------------------------------------------------------------------------------------------------------------------------------------------- .. _pob: **命令名称:** :guilabel:`-pob` **使用方法:** :guilabel:`-pob` 用于并行计算时合理分配核数加快运行速度,为 *parallel over band* 的简写,可在提交命令中添加此关键词 --------------------------------------------------------------------------------------------------------------------------------------------- .. _1.3 程序运行: run程序运行 ========================================================================== ------------------------------------------------------------------------------------------------------------------------------------------------------------------ .. _ 命令提交运行: ============================================================================== submit命令提交运行 ============================================================================== -------------------------------------------------------------------------------------------------------------------------------------------- 设置环境变量: .. code-block:: bash export PATH={DS-PAW INSTALLPATH}/bin:$PATH 串行执行: .. code-block:: bash DS-PAW input.in 并行执行: .. code-block:: bash DS-PAW -mpi mpirun -mpiargs "-np 16" input.in -pob .. _ 脚本提交运行: ============================================================================== script脚本提交运行 ============================================================================== -------------------------------------------------------------------------------------------------------------------------------------------- 若使用排队系统(例如PBS、slurm等)提交任务,只要配置完成相应的 ``.pbs`` 或 ``.slurm`` 脚本,之后使用 :guilabel:`qsub xx.pbs` 或 :guilabel:`sbatch xx.slurm` 提交任务即可。